import { defineStore } from 'pinia'
import { ref } from 'vue'
import { userGetInfoService } from '@/api/user.js'

// 用户模块 token setToken removeToken
export const useUserStore = defineStore(
  'big-user',
  () => {
    const token = ref('') // 定义 token
    const setToken = (newToken) => {
      token.value = newToken // 设置token
    }
    const removeToken = () => {
      token.value = '' // 删除 token
    }

    const user = ref({})
    const getUser = async () => {
      // getUser 定义请求获取数据的方法
      const { data } = await userGetInfoService()
      user.value = data.data
    }

    // setUser 定义清除用户数据的方法
    const setUser = (obj) => {
      user.value = obj
    }

    return {
      token,
      setToken,
      removeToken,
      user,
      getUser,
      setUser
    }
  },
  {
    persist: true // 设置持久化
  }
)
